package lu.med.praxiswahl.wahlumed.service.beans.serviceinterface;


import lu.med.praxiswahl.wahlumed.model.beans.AccountingTBL;
import lu.med.praxiswahl.wahlumed.model.beans.CustomerTBL;
import lu.med.praxiswahl.wahlumed.model.beans.LaborbookTBL;

/**
*
* @author Patrick kendzo
* Email: pkendzo@msn.com
*/

public interface LaborServiceInt {

	public static final int RET_OPERATION_DONE_PROPERLY = 0;
    public static final int RET_PATIENT_NOT_FOUND = 1;
    public static final int RET_OPERATION_FAILED = 2;
    
	public int createLaborEintrag(String matricule, String datum, String year, int labNummer, AccountingTBL lastEditor);
	
	public void getA_LaborInstance(LaborbookTBL labor);
	
	public String getDatum();
	public void setDatum(String datum);
	
	public String getArt_des_tests();
	public void setArt_des_tests(String art_des_tests);

	public int getNummer();
	public void setNummer(int nummer);
	
	public String getAbgegeben();
	public void setAbgegeben(String abgegeben);
	
	public String getAbgeholt();
	public void setAbgeholt(String abgeholt);
	
	public LaborbookTBL[] retrieveLabItemsOfINTERVAL(String fromDatum, String toDatum);
	    
	public int getActualLabNumberIndex(String year);
	
	/*wird beim Hochlader des Client abgefragt
	 * 
	 */
	public LaborbookTBL[] retrieveLast_50_ItemOfLab(String year);
	
	public CustomerTBL getCustomer();

	public void setCustomer(CustomerTBL customer);
	
	public String getYear();
	public void setYear(String year);
	
	public LaborbookTBL[] getLaborbookItemsByCustomer(String matricule);
	public int remove_LaborbookItem(Long laborbookID);
	
	public void sortByNumber(String year);
	
	public void updateAnalysisObject(LaborbookTBL item);
}
